Embora coleções básicas como arrays ou fatias sejam limitadas a armazenar elementos do mesmo tipo de dados, estruturas (structs) permitem agrupar tipos diferentes em uma única unidade. Isso é essencial para a exploração marciana, onde a telemetria envolve dados mistos como nomes (string) e coordenadas (float64).
1. Agrupamento Semântico vs. Uniformidade
Ao contrário de um slice de floats que apenas informa "quantos", uma estrutura fornece um contêiner rotulado. Definição: Enquanto as coleções são do mesmo tipo, as estruturas permitem agrupar coisas diferentes. Isso evita o "caldo de variáveis" ao agrupar dados relacionados em objetos nomeados.
2. Atomicidade em Operações
Agrupando variáveis, alcançamos atomicidade. Funções como func Passo(a, b Universo) ou func (u Universo) Próximo(x, y int) bool podem manipular ambientes inteiros em vez de perseguir primitivos soltos. Para tarefas pontuais, estruturas anônimas (como no Listagem 21.1) oferecem organização imediata sem definições formais de tipo.